* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].

* Notebooks Sync
:PROPERTIES:
:CUSTOM_ID: b145d21
:END:

You can store your notebooks on Dropbox or sync them with a directory
on your device.

Notebooks are written as plain-text files in [[http://orgmode.org][Org mode]] file format.

Synchronization is currently manual -- you have to initiate it
yourself by clicking the ~Sync~ button. Button is located in the
navigation drawer.

** Repository Types
:PROPERTIES:
:CUSTOM_ID: 72c5baa
:END:
*** Dropbox
:PROPERTIES:
:CUSTOM_ID: 515ac68
:END:

 You have to specify a directory for storing your notebooks in.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Dropbox~
 - Enter the directory inside Dropbox (without "Dropbox" part)

*** Device (local storage)
:PROPERTIES:
:CUSTOM_ID: 489bf92
:END:

 Notebooks can be synced with one or more directories on your device.

 - Go to ~Settings~
 - Click on ~Repositories~
 - Click the plus icon and choose ~Device Storage~
 - Click ~Browse~ and select (or create new) directory

** Status Messages
:PROPERTIES:
:CUSTOM_ID: 9a103af
:END:

After syncing is done, every notebook will have its sync status
message updated.

*** No change
:PROPERTIES:
:CUSTOM_ID: 3a30eae
:END:

Notebook is already synced. Nothing to do.

*** Saved to URL
:PROPERTIES:
:CUSTOM_ID: c005876
:END:

Notebook has been successfully synced by being saved to the repository
represented by URL.

*** Loaded from URL
:PROPERTIES:
:CUSTOM_ID: 77c53bc
:END:

Notebook has been successfully synced by being loaded from the
notebook represented by URL.

*** Notebook has no link and one or more remote notebooks with the same name exist
:PROPERTIES:
:CUSTOM_ID: 0eb6241
:END:

Orgzly doesn't know which remote notebook to use for syncing.

Each notebook must have a link to a remote notebook. Link is
usually set automatically after the first sync. However, there are
cases when this is not possible, or when the link is removed.

Link can not be created after the first sync if:

- Notebook was created in Orgzly, but there is already a remote
  notebook with the same name in one of the repositories
- Multiple repositories are used and there is a notebook with the same
  name in them

Link is removed when:

- Repository is renamed or deleted

Link can be set manually:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook
- Click on ~Set Link~
- Choose a repository
- Click ~Set~

Link is set if you can see the URL next to the small link icon in
notebook's details.

*** Notebook has no link and multiple repositories exist
:PROPERTIES:
:CUSTOM_ID: 4268ee7
:END:

See [[Notebook has no link and one or more remote notebooks with the same name exist]].

*** Both local and remote notebook have been modified
:PROPERTIES:
:CUSTOM_ID: both-local-and-remote-notebook-have-been-modified
:END:

If you modify a notebook in Orgzly and at the same time (before
performing a sync) you modify its linked remote notebook, next sync
will leave the notebook in a conflicted state.

When notebook is not synced due to conflict, you have two options:

- ~Force Load~ to import remote notebook and overwrite the local version
- ~Force Save~ to export local notebook and overwrite the remote version

These actions are available in notebook's contextual menu:

- Open the list of notebooks ("Notebooks")
- Long-click on a notebook to open the menu

There is currently no other way to resolve a conflict within Orgzly itself.
 
**** Manually merging the two, conflicting files when using Dropbox
:PROPERTIES:
:CUSTOM_ID: cd5aaec
:END:
 
When the local and remote notebooks have been modified in a Dropbox
repository you can take advantage of the facts that Orgzly stores
information in text files (in the Org file format) and that Orgzly
will create a new copy of the file if you remove it from Dropbox.
 
For example, you might move the original, underlying .org file in
Dropbox to a different directory, then tell Orgzly to sync the files
again (which will cause Orgzly to create a new file (with the same
file name)).  You can then use an external tool (such as a diff
program) to compare your original file and the file that Orgzly
created.  You can then determine what changes were made, and which
ones you wish to keep.
 
Be sure to remember that the new file (the one created by Orgzly) is
where you want to put your final, merged version of the file.

** Notes for Org mode users
:PROPERTIES:
:CUSTOM_ID: org-mode
:END:

Notebooks are encoded in [[http://orgmode.org][Org mode]] file format.

*** Generated Org files
:PROPERTIES:
:CUSTOM_ID: d25f20c
:END:

When compared to your original Org files, files generated by Orgzly
might differ in the amount of white space, outlined below. Any other
difference would be considered a serious bug.

- /By default, tags are separated from title with a single space character./ You
  will lose your tags' indentation, as if you had ~org-tags-column~ set to ~0~.

  - You can change the tags-column in the app's preferences, which should behave
    just like ~org-tags-column~.

  - There is also a preference to make tags-column output compatible with
    org-indent-mode.

- /Unsupported metadata below header is part of note's content./ As
  soon as any unsupported metadata is encountered, lines from that point
  until the next heading are considered part of note's content.  You
  might find an unexpected new line between supported and unsupported
  metadata, because note's content is normally separated from heading
  by a new line.

If any of this is not working for you, please [[Contact][contact]] us.

* Search
:PROPERTIES:
:CUSTOM_ID: search
:END:

Search expressions are separated with space.

They are implicitly joined by logical =AND=. =OR= operator is also
supported. Both operators are case insensitive. =AND= has higher
precedence then =OR=.

** Search expressions
:PROPERTIES:
:CUSTOM_ID: search-expressions
:END:

Following search expressions are supported.

Most of them support ~.~ (NOT) operator (see the last column).

|-----------------+--------------------------+---------------+---|
| Expression      | Finds notes              | Example       | . |
|-----------------+--------------------------+---------------+---|
| =s.PERIOD=      | Scheduled within period  | ~s.today~     | N |
| =d.PERIOD=      | Deadline within period   | ~d.le.2d~     | N |
| =c.PERIOD=      | Closed within period     | ~c.yesterday~ | N |
|-----------------+--------------------------+---------------+---|
| =i.STATE=       | With state               | ~i.todo~      | Y |
| =it.STATE-TYPE= | With state type          | ~.it.done~    | Y |
| =b.NOTEBOOK=    | From notebook            | ~.b.Work~     | Y |
| =t.TAG=         | With tag (inherited too) | ~t.errand~    | Y |
| =tn.TAG=        | With tag (note's only)   | ~tn.toRead~   | N |
| =p.PRIORITY=    | Having priority          | ~.p.c~        | Y |
| =ps.PRIORITY=   | Having set priority      | ~ps.b~        | Y |
|-----------------+--------------------------+---------------+---|

=PERIOD= is in the format of =OP.TIME=

=OP= can be:
- =eq= -- equal to =TIME=
- =ne= -- not equal to =TIME=
- =lt= -- less than =TIME=
- =le= -- less than or equal to =TIME=
- =gt= -- greater than =TIME=
- =ge= -- greater than or equal to =TIME=

If =OP= is not specified:
- Default value for =s= and =d= is =le=
- Default value for =c= is =eq=

=TIME= can be:
- =Nh= -- =N= hours from now
- =Nd= -- =N= days from now
- =Nw= -- =N= weeks from now
- =Nm= -- =N= months from now
- =Ny= -- =N= years from now

=N= can be negative.

For example:
- =-2h= -- two hours ago
- =5d= -- five days from today
- =-2w= -- two weeks ago
- =3m= -- three months from today
- =1y= -- one year from today

Few aliases for =TIME= are available:
- =tomorrow=, =tmrw= or =tom=
- =today= or =tod=
- =now=
- =yesterday=

=PERIOD= can be =none= or =no= which matches notes without the property.

=STATE= is a keyword like =TODO=, =DONE=, =NEW=, etc. Keywords are
case insensitive. Only states specified in Settings can be searched
by. Any keywords not included in the settings are not treated as
states - they become part of note's title.

=STATE-TYPE= can be =todo=, =done= or =none=.

=NOTEBOOK= is the name of notebook. It must be surrounded with double
quotes if it contains spaces.

=TAG= is searched as a substring. For example ~t.bee~ will find notes
which are tagged with =beeblebrox=.

=PRIORITY= is a priority starting from =A=.

** Sorting
:PROPERTIES:
:CUSTOM_ID: search-sorting
:END:

Default ordering of notes is by notebook name then priority. If =s= or
=d= are used in the query, they are also sorted by scheduled or
deadline time. They are always sorted by position in the notebook
last.

You can change this behavior by using =o= operator.

Using =o.PROPERTY= will sort notes by property. =.o.PROPERTY= is also
supported which sorts notes by property in reverse order. You can
specify multiple operators and they will be used in order.

Following properties are supported:

|-----------------------------+-------------------------------|
| Property                    | Order by                      |
|-----------------------------+-------------------------------|
| =b= =book= =notebook=       | Notebook name                 |
| =s= =sched= =scheduled=     | Scheduled time                |
| =c= =close= =closed=        | Closed time                   |
| =d= =dead= =deadline=       | Deadline time                 |
| =p= =pri= =prio= =priority= | Priority                      |
| =st= =state=                | States as defined in Settings |
|-----------------------------+-------------------------------|

** Agenda
:PROPERTIES:
:CUSTOM_ID: search-agenda
:END:

You can add =ad.DAYS= to any query to display search results grouped by day.

=DAYS= is a number of days you want to display.

For example, ~(t.gym or t.class) ad.3~ will display notes tagged with
=gym= or =class= with any type of time set within next 3 days.

** Examples
:PROPERTIES:
:CUSTOM_ID: search-examples
:END:

- ~i.todo t.john~ - Search for =TODO= notes which are tagged with =john=
- ~b.Work .i.done~ - Search in notebook =Work= for notes without =DONE= state
- ~(b.Home or b.Work) phone~ - Search in notebooks =Home= and =Work= for notes which contain the string =phone= in their title, content or any of the tags
- ~s.1d p.a~ - Search for priority =A= notes scheduled for tomorrow or earlier (same as ~p.a s.tom~)
- ~s.ge.today o.book o.pri~ - Search for notes scheduled for today or later, sorting them by notebook name then priority
- ~o.book o.pri o.s~ - Sort by notebook name then priority then scheduled time
- ~p.b~ - Search for notes with priority =B= (includes notes with no priority if default priority is =B=)
- ~ps.b~ - Search for notes with priority set to =B=

** Search Results
:PROPERTIES:
:CUSTOM_ID: b0b0976
:END:

For each note you can tap on it to edit the note immediately.  For
each note you can also swipe right to display a menu of options that
allow you to assign a starting time, cycle through the =TODO= and
=DONE= states, or to simply mark the note as =DONE=.  If you swipe
left you'll be given a single option: displaying the note in the
notebook that contains it.

** Future plans
:PROPERTIES:
:CUSTOM_ID: 2242ab0
:END:

See [[https://github.com/orgzly/documentation/blob/master/searching-proposal.org][Search queries syntax (Proposal)]] (mostly implemented).

* FAQ
:PROPERTIES:
:CUSTOM_ID: faq
:END:

** How much does it cost?
:PROPERTIES:
:CUSTOM_ID: cost
:END:

Orgzly is free.

** Is the source code available?
:PROPERTIES:
:CUSTOM_ID: source-code
:END:

Yes, source code is available on [[https://github.com/orgzly/orgzly-android][GitHub]].

** I don't use Google Play, any alternatives?
:PROPERTIES:
:CUSTOM_ID: 96f0fcb
:END:

Orgzly is also available on [[https://f-droid.org/app/com.orgzly][F-Droid]]. Or you can download APK files
directly from [[https://github.com/orgzly/orgzly-android/releases][GitHub releases]] page.

** Is there an iOS version?
:PROPERTIES:
:CUSTOM_ID: ios
:END:

No, only Android version is available at the moment.

After implementing some of the important features which are still
missing in the current Android version, there is an idea to start
working on either iOS version or a Web application.

* Privacy Policy
:PROPERTIES:
:CUSTOM_ID: b07d90c
:END:
** Other Data
:PROPERTIES:
:CUSTOM_ID: debf9ed
:END:

When you give Orgzly access to Dropbox, an authentication token is
stored on your device to allow receiving and sending of notebooks from
and to Dropbox. No other data is being transferred. Your Dropbox
credentials are not visible to Orgzly.

* Contact
:PROPERTIES:
:CUSTOM_ID: contact
:END:

Email us at [[mailto:support@orgzly.com][support@orgzly.com]] and visit [[https://www.orgzly.com][Orgzly.com]].

Follow us on [[https://twitter.com/Orgzly][Twitter]], [[https://plus.google.com/+Orgzly][Google+ Page]], [[https://plus.google.com/communities/104387367636243222968][Google+ Community]] and [[https://www.facebook.com/Orgzly][Facebook]].

Help us localize Orgzly by joining our [[https://crowdin.com/project/orgzly][Crowdin project]].
